UCell signature enrichment - interacting with Seurat

In this demo, we will apply UCell to evaluate gene signatures in single-cell PBMC data. We will use a subset of the data from Hao and Hao et al, bioRvix 2020, which comprises multiple immune cell types at different levels of resolution. Because these cells were characterized both in terms of transciptomes (using scRNAseq) and surface proteins (using a panel of antibodies), the cell type annotations should be of very high quality. To demonstrate how UCell can simply and accurately evaluate gene signatures on a query dataset, we will apply it directly to the Seurat object from Hao and Hao et al. and compare the signature scores to the original cluster annotations by the authors.

Compare to AddModuleScore from Seurat

AddModuleScore from Seurat is very fast, but the score is highly dependent on the composition of the dataset. Here we will apply AddModuleScore with a simple CD8 T cell signature to two datasets: a set composed of different T cell types (pbmc.Tcell) and a subset of this dataset only comprising the CD8 T cells (pbmc.Tcell.CD8).

First, generate a subset only comprising CD8 T cells (pbmc.Tcell.CD8)

Note that applying the same signature to the complete set or to the CD8 T subset gives very different results. When other cell types are present, the score distribution for CD8 T cells has a median close to 1, but the same CD8 T cell evaluated alone give a zero-centered distribution of scores. It may be undesirable to have a score that changes so dramatically for the same cells depending of the composition of the dataset.

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
-0.6057  0.5149  0.9236  0.8756  1.2673  2.3228 
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
-1.65105 -0.44921 -0.03485 -0.09280  0.30758  1.39551 

UCell score is based on gene rankings and therefore is not affected by the composition of the query dataset

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.0000  0.3859  0.5280  0.5367  0.7803  0.9360 
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.0000  0.3840  0.5347  0.5375  0.7820  0.9377 

Further reading

For more examples of UCell functionalities see the Basic Tutorial (add link)

The code is available at the UCell GitHub repository